package com.proyemp.entity.classes;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;


/**
 * The persistent class for the contactos database table.
 * 
 */
@Entity
@Table(name="contactos")
public class Contacto implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id_contacto")
	private Integer idContacto;

	private String apellido1;

	private String apellido2;

    @Temporal( TemporalType.DATE)
	@Column(name="fecha_actualizacion")
	private Date fechaActualizacion;

	private String nombre1;

	private String nombre2;

	@Column(name="usuario_modificacion")
	private String usuarioModificacion;

	//bi-directional many-to-one association to CargosContacto
	@OneToMany(mappedBy="contacto")
	private Set<CargosContacto> cargosContactos;

	//bi-directional many-to-one association to Cliente
    @ManyToOne
	@JoinColumn(name="id_empresa")
	private Cliente cliente;

	//bi-directional many-to-one association to ContactosAliado
	@OneToMany(mappedBy="contacto")
	private Set<ContactosAliado> contactosAliados;

	//bi-directional many-to-one association to ContactosHotele
	@OneToMany(mappedBy="contacto")
	private Set<ContactosHotele> contactosHoteles;

	//bi-directional many-to-one association to ContratosFirmadosContacto
	@OneToMany(mappedBy="contacto")
	private Set<ContratosFirmadosContacto> contratosFirmadosContactos;

	//bi-directional many-to-one association to DireccionesContacto
	@OneToMany(mappedBy="contacto")
	private Set<DireccionesContacto> direccionesContactos;

	//bi-directional many-to-many association to Email
	@ManyToMany(mappedBy="contactos")
	private Set<Email> emails;

	//bi-directional many-to-one association to TarjetasPresentacionContacto
	@OneToMany(mappedBy="contacto")
	private Set<TarjetasPresentacionContacto> tarjetasPresentacionContactos;

	//bi-directional many-to-one association to TelefonosContacto
	@OneToMany(mappedBy="contacto")
	private Set<TelefonosContacto> telefonosContactos;

    public Contacto() {
    }

	public Integer getIdContacto() {
		return this.idContacto;
	}

	public void setIdContacto(Integer idContacto) {
		this.idContacto = idContacto;
	}

	public String getApellido1() {
		return this.apellido1;
	}

	public void setApellido1(String apellido1) {
		this.apellido1 = apellido1;
	}

	public String getApellido2() {
		return this.apellido2;
	}

	public void setApellido2(String apellido2) {
		this.apellido2 = apellido2;
	}

	public Date getFechaActualizacion() {
		return this.fechaActualizacion;
	}

	public void setFechaActualizacion(Date fechaActualizacion) {
		this.fechaActualizacion = fechaActualizacion;
	}

	public String getNombre1() {
		return this.nombre1;
	}

	public void setNombre1(String nombre1) {
		this.nombre1 = nombre1;
	}

	public String getNombre2() {
		return this.nombre2;
	}

	public void setNombre2(String nombre2) {
		this.nombre2 = nombre2;
	}

	public String getUsuarioModificacion() {
		return this.usuarioModificacion;
	}

	public void setUsuarioModificacion(String usuarioModificacion) {
		this.usuarioModificacion = usuarioModificacion;
	}

	public Set<CargosContacto> getCargosContactos() {
		return this.cargosContactos;
	}

	public void setCargosContactos(Set<CargosContacto> cargosContactos) {
		this.cargosContactos = cargosContactos;
	}
	
	public Cliente getCliente() {
		return this.cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}
	
	public Set<ContactosAliado> getContactosAliados() {
		return this.contactosAliados;
	}

	public void setContactosAliados(Set<ContactosAliado> contactosAliados) {
		this.contactosAliados = contactosAliados;
	}
	
	public Set<ContactosHotele> getContactosHoteles() {
		return this.contactosHoteles;
	}

	public void setContactosHoteles(Set<ContactosHotele> contactosHoteles) {
		this.contactosHoteles = contactosHoteles;
	}
	
	public Set<ContratosFirmadosContacto> getContratosFirmadosContactos() {
		return this.contratosFirmadosContactos;
	}

	public void setContratosFirmadosContactos(Set<ContratosFirmadosContacto> contratosFirmadosContactos) {
		this.contratosFirmadosContactos = contratosFirmadosContactos;
	}
	
	public Set<DireccionesContacto> getDireccionesContactos() {
		return this.direccionesContactos;
	}

	public void setDireccionesContactos(Set<DireccionesContacto> direccionesContactos) {
		this.direccionesContactos = direccionesContactos;
	}
	
	public Set<Email> getEmails() {
		return this.emails;
	}

	public void setEmails(Set<Email> emails) {
		this.emails = emails;
	}
	
	public Set<TarjetasPresentacionContacto> getTarjetasPresentacionContactos() {
		return this.tarjetasPresentacionContactos;
	}

	public void setTarjetasPresentacionContactos(Set<TarjetasPresentacionContacto> tarjetasPresentacionContactos) {
		this.tarjetasPresentacionContactos = tarjetasPresentacionContactos;
	}
	
	public Set<TelefonosContacto> getTelefonosContactos() {
		return this.telefonosContactos;
	}

	public void setTelefonosContactos(Set<TelefonosContacto> telefonosContactos) {
		this.telefonosContactos = telefonosContactos;
	}
	
}